package com.yxhl.zoume.data.http.rest.repositoryimpl;

import com.yxhl.protobuf.BizOrderRequest;
import com.yxhl.protobuf.BizOrderResponse;
import com.yxhl.zoume.data.http.repository.tripsmgnt.TripsRepository;
import com.yxhl.zoume.data.http.rest.param.specialcar.CancelOrderParam;
import com.yxhl.zoume.data.http.rest.param.tripsmgnt.BusRefundParam;
import com.yxhl.zoume.data.http.rest.param.tripsmgnt.CommentDriverParam;
import com.yxhl.zoume.data.http.rest.param.tripsmgnt.RefundTripParam;
import com.yxhl.zoume.data.http.rest.repositoryimpl.base.BaseDataRepository;
import com.yxhl.zoume.data.http.rest.response.specialcar.CancelOrderResponse;
import com.yxhl.zoume.data.http.rest.response.tirps.CommentDriverResponse;
import com.yxhl.zoume.data.http.rest.response.tirps.RefundProgressResponse;
import com.yxhl.zoume.data.http.rest.response.tirps.RefundResponse;
import com.yxhl.zoume.data.http.rest.response.tirps.RefundTicketResponse;

import javax.inject.Inject;

import retrofit2.http.Body;
import rx.Observable;

/**
 * Created by sugarya on 16/3/27.
 */
public class TripsDataRepository extends BaseDataRepository implements TripsRepository {

    @Inject
    public TripsDataRepository() {
    }

    @Override
    public Observable<BizOrderResponse> getCurrentTripOrders(@Body BizOrderRequest param) {
        return mZouMeService.getCurrentTripOrders(param);
    }

    @Override
    public Observable<BizOrderResponse> getHistoryTripOrders(@Body BizOrderRequest param) {
        return mZouMeService.getHistoryTripOrders(param);
    }

    @Override
    public Observable<CommentDriverResponse> commentOnTripDriver(@Body CommentDriverParam commentDriverParam) {
        return mZouMeService.commentOnTripDriver(commentDriverParam);
    }

    @Override
    public Observable<RefundResponse> refundTicket(@Body RefundTripParam refundTripParam) {
        return mZouMeService.refundTicket(refundTripParam);
    }

    @Override
    public Observable<CancelOrderResponse> cancelOrder(@Body CancelOrderParam param) {
        return mZouMeService.cancelOrder(param);
    }

    @Override
    public Observable<BizOrderResponse> getDetailTripOrder(@Body BizOrderRequest param) {
        return mZouMeService.getDetailTripOrder(param);
    }

    @Override
    public Observable<BizOrderResponse> getZouMeBusTicketList(@Body BizOrderRequest param) {
        return mZouMeService.getZouMeBusTicketList(param);
    }

    @Override
    public Observable<RefundProgressResponse> queryRefundProgress(@Body BusRefundParam param) {
        return mZouMeService.queryRefundTicketProgress(param);
    }

    @Override
    public Observable<RefundTicketResponse> applyBusRefundTicket(@Body BusRefundParam param) {
        return mZouMeService.applyBusRefundTicket(param);
    }

    @Override
    public Observable<RefundTicketResponse> confirmBusRefundTicket(@Body BusRefundParam param) {
        return mZouMeService.confirmBusRefundTicket(param);
    }

}
